Skip to content

feat: import course in library stepper [FC-0112]#2567

Merged
ChrisChV merged 14 commits intoopenedx:masterfrom
open-craft:chris/FAL-4266-import-from-course-stepper
Nov 14, 2025
Merged

feat: import course in library stepper [FC-0112]#2567
ChrisChV merged 14 commits intoopenedx:masterfrom
open-craft:chris/FAL-4266-import-from-course-stepper

Conversation

@ChrisChV
Copy link
Copy Markdown
Contributor

@ChrisChV ChrisChV commented Oct 24, 2025

Description

  • Implemented the course import stepper described in Import from Course stepper UI #2524
  • Adds the new ENABLE_COURSE_IMPORT_IN_LIBRARY flag
  • Which user roles will this change impact? "Course Author".
image image

Supporting information

Testing instructions

  • Use this branch of edx-platform: feat: get migrations info REST-API added [FC-0112] openedx-platform#37558
  • In this MFE, enable the ENABLE_COURSE_IMPORT_IN_LIBRARY (It is enabled by default in the .env.development)
  • Follow the instructions in feat!: modulestore_migrator openedx-platform#36873 to migrate some courses to a v2 library
  • Login with a global staff user
  • Go to the v2 library
  • In the Home page of the library, click on the temporary button Import Course.
  • Verify the new course import modal
  • Verify that the Previously Imported Chip is in the migrated courses.
  • Verify that you can select one course and click Next Step.
  • Verify the loading state of the Review Import Details.
  • Create a simple user
  • Give permissions to a course that is Previously Imported and a library v2 to the simple user.
  • Login with the new user.
  • Repeat all the steps and verify that you can see the course and the Previously Imported chip

Other information

TODO: Move the Import Course Button to the Import Home Page

Best Practices Checklist

We're trying to move away from some deprecated patterns in this codebase. Please
check if your PR meets these recommendations before asking for a review:

  • Any new files are using TypeScript (.ts, .tsx).
  • Deprecated propTypes, defaultProps, and injectIntl patterns are not used in any new or modified code.
  • Tests should use the helpers in src/testUtils.tsx (specifically initializeMocks)
  • Do not add new fields to the Redux state/store. Use React Context to share state among multiple components.
  • Use React Query to load data from REST APIs. See any apiHooks.ts in this repo for examples.
  • All new i18n messages in messages.ts files have a description for translators to use.
  • Imports avoid using ../. To import from parent folders, use @src, e.g. import { initializeMocks } from '@src/testUtils'; instead of from '../../../../testUtils'

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Core Contributor assignee FC Relates to an Axim Funded Contribution project open-source-contribution PR author is not from Axim or 2U

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

6 participants